Halftoning is the process of representing a continuous tone image by a bi-level image such that, when viewed from a suitable distance, the bi-level image gives the same impression as the contone image. Halftoning techniques are widely employed in the printing and displaying of digital images and are necessary because the physical processes involved are binary in nature or because the processes being used tend to be restricted to binary operation for reasons of cost, speed, memory, or stability in the presence of process fluctuations. The general idea behind halftoning is, by varying the density of the dots used to print the individual primary colors, Cyan, Magenta, Yellow and Black (CMYK), any particular shade can be reproduced. By varying dot density, the eye perceives a shade somewhere between the solid color and the color of the background paper. The effect has its limits. When the dots get too small or are spaced too far apart, the eye starts perceiving individual dots again.
A pattern of dots used to produce a particular shade of color is known as a halftone screen. A halftone screen describes the set of values which together make up the set of thresholds to be applied in a halftone screening process to generate the output halftone patterns. A single-center halftone screen uses the entire area for one cell, or tile, only. The resolution of a halftone screen is defined by the number of lines of dots in one inch, measured parallel with the angle of the halftone screen. The higher the resolution of the halftone screen, the greater the detail that can be reproduced. Higher resolution requires a higher quality printing processes, otherwise the printed output image may suffer from posterization. Posterization occurs when a region of an image with a continuous gradation of tone is replaced with several regions of fewer tones, resulting in an abrupt change from one tone to another. This creates the visual effect one notices when a relatively small image has been blown up to the size of a poster. Therefore it is important to match screen resolution to the desired printing process. Further, when different halftone screens meet, a number of distracting visual effects can occur. These include the edges being overly emphasized as well as a moiré pattern. These problems can be reduced by rotating the halftone screens in relation to each other.
Digital halftoning utilizes a raster image or bitmap within which each monochrome element or pixel is turned ON/OFF (dot or no dot). Raster type printers employ halftoning to transform contone image data to print data that can be rendered using an array of substantially uniform dots. For example, 24-bit/pixel contone data can be halftoned to a plurality of single color 1-bit/pixel bitmaps. The collection of individual single color bitmaps forms the image.
The digital halftone cell contains groups of monochrome pixels within the same-sized cell area. Each equal-sized cell relates to a corresponding area (size and location) of the contone input image. Within each cell, the high frequency attribute is a centered variable-sized halftone dot composed of ink or toner. The ratio of the inked area to the non-inked area of the output cell corresponds to the luminance or gray-level of the input cell. From a suitable distance, the human eye averages both the high frequency apparent gray-level approximated by the ratio within the cell and the low frequency apparent changes in gray-level between adjacent equally-spaced cells and centered dots.
Color pixel error diffusion is a popular halftoning method due to its detail preservation and moiré resistance. Error diffusion methods in a color environment can be classified into two types, vector error diffusion and scalar error diffusion. Vector error diffusion is often considered to be better in image quality because it achieves higher halftone quality compared to the channel-independent scalar color error diffusion due to the better correlation among CMYK color planes. However, it requires significantly more computation and can introduce artifacts into the output device space due to an accumulation of the errors.
Halftoning in a CMYK domain does not necessarily result in a well-behaved inter-color correlation among secondary colors (RGB). Consequently, noticeable increases in graininess can be observed when significant amounts of secondary color dots are used to achieve the determined input ink coverages. Therefore, explicit secondary color dot control is desirable to achieve uniform dot distribution. It is also desirable to position the color dots uniformly in the very highlight and very dark shadow areas due to a requirement of long-distance spatial correlation. Performing color error diffusion in a memory efficient manner is a challenge since many of the conversions and transformations are performed in an application specific integrated circuit (ASIC), or the like, where resources can be limited.
Accordingly, what is needed are increasingly sophisticated systems and methods for performing color error diffusion in an efficient manner while still achieving a high-quality dispersed-dot halftone output result.